package appapi.entity.Zhongjiao;

import appapi.common.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * @author djq
 * @date 2023/5/25 17:57
 * @description:
 */

/**
 * 操作员表
 */
@ApiModel(value = "操作员表")
@Data
public class OperatorDto extends BaseEntity {
    /**
     * 人员ID
     */
    @ApiModelProperty(value = "人员ID")
    private Long operId;

    /**
     * 人员姓名
     */
    @NotNull(message = "人员姓名不能为空")
    @NotBlank(message = "人员姓名不能为空")
    @Length(max = 20)
    @ApiModelProperty(value = "人员姓名",required = true)
    private String operName;

    /**
     * 人员年龄
     */
    @ApiModelProperty(value = "人员年龄")
    private Integer operAge;

    @ApiModelProperty(value = "")
    private Long projid;

    /**
     * 人员类别 0 驾驶员1维保员
     */
    @ApiModelProperty(value = "人员类别 0 驾驶员1维保员",required = true)
    @NotNull(message = "操作类型不能为空")
    private Integer operType;
    @ApiModelProperty(value = "人员类别：注册，场内，访客")
    private String operNumberType;

    /**
     * 性别0-男;1-女
     */
    @ApiModelProperty(value = "性别0-男;1-女",required = true)
    @NotNull(message = "人员性别不能为空")
    private Integer operSex;

    /**
     * 联系电话
     */
    @ApiModelProperty(value = "联系电话",required = true)
    @NotNull(message = "联系电话不能为空")
    @NotBlank(message = "联系电话不能为空")
    @Length(max = 15)
    private String operMobile;

    /**
     * 证件号
     */
    @ApiModelProperty(value = "证件号",required = true)
    @NotNull(message = "证件号不能为空")
    @NotBlank(message = "证件号不能为空")
    @Length(max = 20)
    private String operCardId;

    /**
     * 有效期
     */
    @ApiModelProperty(value = "有效期")
    private String operValid;

    /**
     * 0-通过;1-未通过;2-未审核
     */
    @ApiModelProperty(value = "0-通过;1-未通过;2-未审核")
    private Integer operAuditState;

    /**
     * 头像
     */
    @ApiModelProperty(value = "头像")
    private String operHeadpic;

    /**
     * 人脸头像
     */
    @ApiModelProperty(value = "人脸头像")
    private String operFaceimg;

    /**
     * 0-正常;1-异常
     */
    @ApiModelProperty(value = "0-正常;1-异常")
    private Integer operState;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String operNode;

    @ApiModelProperty(value = "准操作项目")
    private String itemName;

    @ApiModelProperty(value = "证书集合")
    private List<CertificateDto> certificates;
    /**
     * 微信id
     */
    @ApiModelProperty(value = "微信id")
    private String wxId;
    /**
     * 生日
     */
    @ApiModelProperty(value = "生日",required = true)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @NotNull(message = "出生日期不能为空")
    private LocalDateTime operBirthday;

    /**
     * 组织结构id
     */
    @ApiModelProperty(value = "组织结构id")
    private Long orgaId;
}